Software application developers often rely on application programming interfaces (“APIs”) to access various libraries of software code to simplify software development effort. For example, a user interface for a device may be configured by composing a variety of user interface objects provided via calling these APIs. As APIs are inherently limited by their vendors, additional customization efforts over these APIs may be required to achieve desired effects for a target configuration. As the complexity of the target configuration increases, however, such customization may become tedious.
For example, to set a particular color for each button object inside a popup control object displayed on a display device in a user interface configuration, a software developer may be required to duplicate similar color setting operations for multiple instances of button objects which are placed inside a popup control object. In certain cases, the development effort may be further complicated as relationships, such as layout relationships, between different user interface objects may not be available at the time these user interface objects are created. Although additional APIs may be provided to alleviate such development efforts, it may not be practically feasible because the number of additional APIs required may potentially explode to an unmanageable level.
Therefore, current approaches for object configuration via APIs do not provide a scalable, flexible and convenient mechanism which leverages existing APIs for customizing the configuration.